#ifndef TIMER_EVENT_H
#define TIMER_EVENT_H

#include "TickerDataClock.h"

class TimerEvent
{
protected:
    TimerEvent(const ticker_data_t *data);
    static void irq(uint32_t id);
    ~TimerEvent();
    virtual void handler() = 0;
    void insert(timestamp_t timestamp);
    void insert(us_timestamp_t rel_time);
    void insert_absolute(us_timestamp_t timestamp);
    void remove();
    ticker_event_t event;
    TickerDataClock _ticker_data;
#endif
};
